package com.zp.business.service.infusion;

import com.zp.business.entity.infusion.bo.InfusionItemBo;
import com.zp.business.entity.infusion.bo.InfusionRecordBo;
import com.zp.business.entity.infusion.vo.InfusionRecordVo;
import com.zp.common.myBatis.core.page.PageQuery;
import com.zp.common.myBatis.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 输液室记录Service接口
 *
 * @author zhang peng
 * @ date 2025-02-08
 */
public interface IInfusionRecordService {

    /**
     * 查询输液室记录
     */
    InfusionRecordVo queryById(String infusionRecordId);

    /**
     * 查询输液室记录列表(分页)
     */
    TableDataInfo<InfusionRecordVo> queryPageList(InfusionRecordBo bo, PageQuery pageQuery);

    /**
     * 查询输液室记录列表(不分页)
     */
    List<InfusionRecordVo> queryList(InfusionRecordBo bo);

    /**
     * 修改输液室记录
     */
    Boolean insertByBo(InfusionRecordBo bo);

    /**
     * 修改输液室记录
     */
    Boolean updateByBo(InfusionRecordBo bo);

    /**
     * 校验并批量删除输液室记录信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 批量新增输液室记录
     * @param bo
     * @return
     */
    boolean addInfusionRecordBatch(InfusionItemBo bo);

    /**
     * 配液弹出框修改输液室记录
     * @param bo
     * @return
     */
    boolean updateInfusionRecordByDialog(InfusionRecordBo bo);
}
